1. Technical Field
The present invention relates to deployment of programs (e.g., in a data center), and more particularly to systems and methods which partially or wholly automate the decisions as to how programs are to be deployed. Given the requirements of the software, the systems and methods make choices regarding types of middleware and hardware that are most suitable.
2. Description of the Related Art
It is becoming more and more difficult for businesses to design, deploy, and manage today's (typically distributed) applications, partly because there are so many choices that need to be made about the “best” middleware, operating systems, and servers. Note that the definition of “best”, in this context, changes from one deployment to the next. For example, in one case, optimizing may be for (minimal) cost, and in another case, optimizing may be for (maximal) performance.
One important issue in this context is the estimation of capacity requirements in the deployment planning. In the deployment planning, it has to be understood, e.g., how much capacity a particular application server running on a particular kind of server computer can accept. This capacity estimation can be used, together with cost information, to determine the quality of a deployment configuration.